The present invention relates to a monitor and analyzer for digital communications channel activity, and more particularly to a monitor and analyzer for passive interconnection to a computer data channel or the like, for providing a visualization for operator analysis of data channel activity.
In the field of hardware and software diagnostic evaluation of computer signals it has been necessary to develop hardware systems and methods of analysis which are based on less than totally comprehensive system operating parameters. It is technically impractical, if not impossible, to fully monitor and analyze all signal state changes which occur in any realistically sized computer system at the real-time rates of change which such signals undergo. The sheer quantity of possible signals which exist within and without a computer system limits the practicality of designing and operating a total system monitor, for in this case the complexity of the monitor exceeds that of the computer being monitored. Selective monitoring of particular computer circuits represents a feasible design problem, particularly where the circuits selected for monitoring are conveying data signals of particular interest, and which are particularly useful in measuring successful operation of the system. For this reason, signal lines associated with computer data channels may preferably be selected as monitor points, for these signal lines are generally associated with the useful data which the computer is either processing or transmitting during any given operation.
Monitoring signal lines representative of computer data channel activity presents further problems, however, for data transmission rates over these lines often occur at millions of transitions per second. Therefore, a hardware or software monitoring system must be capable of responding to signal changes at these high data transmission rates, and if the data is to be collected for useful analysis such systems must be capable of storing the information as it is transmitted at these rates. This leads to the further problem of providing sufficient storage for receiving and accumulating large quantities of data, at rates of speed which coincide with the data transmission rates over the data channels. This problem is technically impractical or impossible of solution if more than a few seconds of computer data channel activity is to be collected, for the volume of storage which must be made available for such collection becomes extremely large if any significant data accumulation is desired. Further, even if a sufficient storage volume is provided for collecting significant amounts of data from a computer data channel, the amount of time required for analysis of such data is invariably longer than the time required to transmit the data. Therefore, analysis of bulk quantities of data is usually accomplished offline, at nonreal-time rates, frequently in a post-processing computer which is configured exclusively for analysis of such volumes of data.
If real-time monitoring and analysis is desired it is usually required that sampling techniques be employed, wherein random or preselected samples of data are captured from a data channel and are analyzed in real time, utilizing an analysis scheme which has some statistical validity for predicting the existence or nonexistence of particular events being monitored. Such sampling techniques can be triggered by predetermined signal events within a computer, as for example by initiating a sampling interval at the time a data output channel is activated, and continuing the sampling interval until such time as the data output channel is deactivated. The statistical samples so collected are presumed to be representative of the actual real-time data channel activity, and diagnostic and other assumptions are made from observations made of the data so collected. Data monitoring and analysis can also be predicated by an event trigger which causes a brief period of collection to occur wherein all data channel activity is retrieved and stored for a brief time interval after the event of significance has been detected. Such a technique might be utilized wherein a fault indication signal line is monitored, and the occurrence of a signal on this line causes a plurality of data channel lines to become monitored, and the signals thereon collected and stored, and an analysis of the data so collected be undertaken in order to attempt to ascertain the cause of the fault indication. It is possible to utilize this technique in real-time conditions if the volume of data collected is sufficiently small so as to permit the analysis circuits to complete their operation before further and additional data is transmitted requiring the same analysis.
Even the last above-described technique is not useful when the cause of the fault detection signal is derived from conditions which occurred on the data channel prior to the occurrence of the fault signal. In this case, it is of no help to collect quantities of data after the fault signal for the condition which led to the fault signal has already passed and the contents of the data channel which might suggest the cause of the fault have not been recorded.
There is a need for a data channel analyzer, and a method for analysis of data transmitted over data channels which provides for the monitoring of data channel activity and for the detection of preselected signal conditions requiring analysis, and for the accumulation of a predetermined volume of channel data occurring before and after the preselected conditions for inclusion in the analysis activity. Further, there is a need for a monitoring system and technique which permits the real-time monitoring and analysis of the data transmitted over a data channel. Finally, there is a need for a system of data channel monitoring and analysis which provides an intelligible display and summary of the results of the monitoring and analysis for convenient and understandable presentation to an operator.